function foo(name, age, sex, hobbit) {

    console.log(name, arguments[0]); // name name

    // 改变形参
    name = 'new name';

    console.log(name, arguments[0]); // new name new name

    // 改变arguments
    arguments[1] = 'new age';

    console.log(age, arguments[1]); // new age new age

    // 测试未传入的是否会绑定
    console.log(sex); // undefined

    sex = 'new sex';

    console.log(sex, arguments[2]); // new sex undefined

    arguments[3] = 'new hobbit';

    console.log(hobbit, arguments[3]); // undefined new hobbit

};

foo('name', 'age');

// arguments中的callee属性
; (function () {
    //return
    var data = [];

    for (var i = 0; i < 3; i++) {
        (data[i] = function () {
            console.log(i)// 这个是指向外面的变量 i
            console.log(arguments.callee.i)
        }).i = i;
    }

    data[0](); //0
    data[1](); //1
    data[2](); //2

    // 0
    // 1
    // 2

})();
